<HTML>
<HEAD>
<TITLE>
Etg_Almacenamiento.cpp
</TITLE>
</HEAD>
<BODY>
<PRE>
<font color="blue">#include</font> <font color="maroon">"Etg_Almacenamiento.h"</font>


<font color="blue">void</font> Etg_Almacenamiento<font color="black">:</font><font color="black">:</font>ubicar<font color="black">(</font>Compuesto <font color="black">*</font>compuesto, Dato <font color="black">*</font>daux, <font color="blue">unsigned</font> <font color="blue">int</font> <font color="black">*</font>pos, <font color="blue">unsigned</font> <font color="blue">int</font><font color="black">*</font> tam, TipoSerializacion tipoS<font color="black">)</font><font color="black">{</font>
        <font color="green">// no devuelve nada xq tiene q estar sino ya lo rechazo el indice antes!       </font>
        ComponenteAlmacenamiento <font color="black">*</font>reg;
        <font color="blue">int</font> i,resp<font color="black">=</font><font color="maroon">-1</font>;
      
        <font color="black">(</font><font color="black">*</font>pos<font color="black">)</font><font color="black">=</font><font color="maroon">0</font>;
       <font color="blue">for</font><font color="black">(</font>i<font color="black">=</font><font color="maroon">0</font>;i<font color="black">&#60;</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getCantidadComponentes<font color="black">(</font><font color="black">)</font><font color="black">&</font><font color="black">&</font><font color="black">(</font>resp<font color="black">!</font><font color="black">=</font><font color="maroon">0</font><font color="black">)</font>;i<font color="black">+</font><font color="black">+</font><font color="black">)</font><font color="black">{</font> 
            reg<font color="black">=</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>i<font color="black">)</font>; 
            Dato <font color="black">*</font>dato; 
            daux<font color="black">-</font><font color="black">&#62;</font>clone<font color="black">(</font>dato<font color="black">)</font>; 
            reg<font color="black">-</font><font color="black">&#62;</font>leer<font color="black">(</font>dato,tipoS<font color="black">)</font>; 
            resp<font color="black">=</font> dato<font color="black">-</font><font color="black">&#62;</font>compareTo<font color="black">(</font>daux<font color="black">)</font>; 
            <font color="blue">if</font> <font color="black">(</font>resp<font color="black">=</font><font color="black">=</font><font color="maroon">0</font><font color="black">)</font> <font color="black">{</font> 
                <font color="black">(</font><font color="black">*</font>tam<font color="black">)</font><font color="black">=</font>dato<font color="black">-</font><font color="black">&#62;</font>getTamanio<font color="black">(</font>tipoS<font color="black">)</font>; 
                <font color="black">*</font>pos<font color="black">=</font> i; 
                free<font color="black">(</font>dato<font color="black">)</font>; 
                <font color="blue">return</font>; 
                <font color="black">}</font> 
        <font color="black">}</font>
        <font color="green">// si llega no encontro</font>
        <font color="green">// TODO: arrojar excepcion o hacer algo al respecto</font>
<font color="black">}</font>

</PRE>
</BODY>
</HTML>
